<?php
class NvchithisController extends AppController {

	var $name = 'Nvchithis';
	var $helpers = array('Html', 'Form');
    var $paginate=array('order'=>array('ngaygiao'=>'desc'),'limit'=>100);
    //var $uses=array('Kehoach','Nvchithi','Zdv');

	function index($kehoach=1,$idnhanvien=null) {
        if(!empty($this->data)){
            //giao
            if(!empty($this->data['Nvchithi']['giao']))
                foreach($this->data['Nvchithi']['giao'] as $value){
                    $this->Nvchithi->id=$value;
                    $this->Nvchithi->saveField('dagiao',1);
                }
            
            //duyet
            if(!empty($this->data['Nvchithi']['duyet']))
            
                foreach($this->data['Nvchithi']['duyet'] as $value){
                    $this->Nvchithi->id=$value;
                    $this->Nvchithi->saveField('dagiao',2);
                }
            
            //BO DUYET
            if(!empty($this->data['Nvchithi']['boduyet']))
            
                foreach($this->data['Nvchithi']['boduyet'] as $value){
                    $this->Nvchithi->id=$value;
                    $this->Nvchithi->saveField('dagiao',1);
                }
        }        
    	$this->Nvchithi->recursive = 0;
        
        $kh=$this->Nvchithi->Kehoach->find('first',array('conditions'=>array('Kehoach.id'=>$kehoach),'recursive'=>0));
        
        
        $dagiao=1;
        //neu khong co tham so thu 2 thi la bang Ke hoach cong viec danh cho ca don vi
        if(empty($idnhanvien)){
		    $nvchithis= $this->paginate(array('Nvchithi.kehoach_id'=>$kehoach));
            $this->set(compact('nvchithis'));
            
     
            
        }else{
            $nvchithis= $this->paginate(array(
                        'Nvchithi.kehoach_id'=>$kehoach,'nhanvien_id'=>$idnhanvien));
            $this->set(compact('nvchithis'));
            
            if(count($nvchithis)>0){
                if($nvchithis[0]['Nvchithi']['dagiao']!=1&&$nvchithis[0]['Nvchithi']['dagiao']!=2){
                $this->Session->setFlash(__('Công việc ở kế hoạch này chưa được giao', true));
            //    $this->redirect(array('controller'=>'kehoaches','action'=>'indexnv',$kh['Kehoach']['donvi_id']));
                }
            }
        }
        
        
        
        $this->set(compact('kehoach','kh','idnhanvien','dagiao'));
	}
    
    
    
    
    function indexexcel($kehoach=1,$idnhanvien=null) {
        
        
        
        $this->Nvchithi->recursive = 0;
        
        $kh=$this->Nvchithi->Kehoach->find('first',array('conditions'=>array('Kehoach.id'=>$kehoach),'recursive'=>0));
        
        $tendv=$this->Nvchithi->query("select tendvcha, tendv from zdvs where
                    donvi_id='".$kh['Kehoach'] ['donvi_id']."'");
        $this->set(compact('tendv'));
        
        $dagiao=1;
        //neu khong co tham so thu 2 thi la bang Ke hoach cong viec danh cho ca don vi
        if(empty($idnhanvien)){
		    $nvchithis= $this->Nvchithi->find('all',array(
                    'conditions'=>array('Nvchithi.kehoach_id'=>$kehoach)));
            $this->set(compact('nvchithis'));
            
     
            
        }else{
            $nvchithis= $this->Nvchithi->find('all',array(
                    'conditions'=>array(
                        'Nvchithi.kehoach_id'=>$kehoach,'nhanvien_id'=>$idnhanvien)));
            $this->set(compact('nvchithis'));
            
            if(count($nvchithis)>0){
                if($nvchithis[0]['Nvchithi']['dagiao']!=1&&$nvchithis[0]['Nvchithi']['dagiao']!=2){
                $this->Session->setFlash(__('Công việc ở kế hoạch này chưa được giao', true));
            //    $this->redirect(array('controller'=>'kehoaches','action'=>'indexnv',$kh['Kehoach']['donvi_id']));
                }
            }
        }
        
        
        $this->layout='';  
        $this->set(compact('kehoach','kh','idnhanvien','dagiao','tendv'));
	}
    
    
    //cua chi nhanh: chi dc theo doi khong duoc sua
    function indexcn($kehoach=1,$idnhanvien=null) {
		$this->Nvchithi->recursive = 0;
        
        $kh=$this->Nvchithi->Kehoach->find('first',array('conditions'=>array('Kehoach.id'=>$kehoach),'recursive'=>0));
        
        //print_r($kh);
        $dagiao=1;
        //neu khong co tham so thu 2 thi la bang Ke hoach cong viec danh cho ca don vi
        if(empty($idnhanvien)){
		    $nvchithis= $this->paginate(array('Nvchithi.kehoach_id'=>$kehoach));
            $this->set(compact('nvchithis'));
            
            if(count($nvchithis)==0)
                $dagiao=0;
            elseif($nvchithis[0]['Nvchithi']['dagiao']!=1)
                 $dagiao=0;
            
        }else{
            $nvchithis= $this->paginate(array(
                        'Nvchithi.kehoach_id'=>$kehoach,'nhanvien_id'=>$idnhanvien));
            $this->set(compact('nvchithis'));
            
            if(count($nvchithis)>0){
                if($nvchithis[0]['Nvchithi']['dagiao']!=1){
                $this->Session->setFlash(__('Công việc ở kế hoạch này chưa được giao', true));
                $this->redirect(array('controller'=>'kehoaches','action'=>'index'));
                }
            }
        }
        
        
        
        $this->set(compact('kehoach','kh','idnhanvien','dagiao'));
	}
    function giaoviec($kehoach){
        if(empty($kehoach)){
            $this->Session->setFlash(__('Kế hoạch không hợp lệ', true));
			$this->redirect(array('action'=>'/'));
        }       
        
        $kh=$this->Nvchithi->query('update nvchithis set dagiao=1 where kehoach_id='.$kehoach);
        $this->Session->setFlash(__('Công việc đã được giao, bạn không được quyền sửa/xóa các công việc này!!', true));
	    $this->redirect(array('action'=>'index',$kehoach));   
    }
    
    function duyet($id,$kehoach){
        if(empty($kehoach)||empty($id)){
            $this->Session->setFlash(__('Kế hoạch hoặc công việc không hợp lệ', true));
			$this->redirect(array('action'=>'/'));
        }       
        $kh=$this->Nvchithi->query('update nvchithis set dagiao=2 where id='.$id);
        $this->Session->setFlash(__('Công việc đã được duyệt, nhân viên sẽ KHÔNG ĐƯỢC cập nhật công việc này!!', true));
	    $this->redirect(array('action'=>'index',$kehoach));   
    }
    function boduyet($id,$kehoach){
        if(empty($kehoach)||empty($id)){
            $this->Session->setFlash(__('Kế hoạch hoặc công việc không hợp lệ', true));
			$this->redirect(array('action'=>'/'));
        }       
        $kh=$this->Nvchithi->query('update nvchithis set dagiao=1 where id='.$id);
        $this->Session->setFlash(__('Đã hoàn tác, nhân viên sẽ ĐƯỢC cập nhật công việc!!', true));
	    $this->redirect(array('action'=>'index',$kehoach));   
    }
    function add($kehoach=1,$idnhanvien=null) {
	//dung de kiem tra ngay thang nhap vao co cung trong kehoach k	
        $kh=$this->Nvchithi->Kehoach->find('first',array('conditions'=>array('Kehoach.id'=>$kehoach),'recursive'=>0));
       
        
        if (!empty($this->data)) {
			$this->Nvchithi->create();	
             $this->data['Nvchithi']['ngaygiao']= date('Y-m-d',strtotime($this->data['Nvchithi']['ngaygiao']));
             $this->data['Nvchithi']['thoihan']= date('Y-m-d',strtotime($this->data['Nvchithi']['thoihan']));
            if(strtotime($this->data['Nvchithi']['ngaygiao'])<strtotime($kh['Kehoach']['ngaybd'])
               || strtotime($this->data['Nvchithi']['ngaygiao'])>strtotime($kh['Kehoach']['ngaykt'])
               || strtotime($this->data['Nvchithi']['ngaygiao'])> strtotime($this->data['Nvchithi']['thoihan']))
                       $this->Session->setFlash(__('Ngày giao không đúng với thời gian của kế hoạch, hoặc bạn đã nhập thời hạn trước ngày giao!', true));
            else{ 		
			    if ($this->Nvchithi->save($this->data)) {
				    $this->Session->setFlash(__('Công việc đã được thêm', true));
				               
   	                if(empty($idnhanvien))
                        $this->redirect(array('action'=>'add',$kehoach));
                    else
                        $this->redirect(array('action'=>'add',$kehoach,$idnhanvien));
                    
                    
                } else {
				    $this->Session->setFlash(__('Công việc chưa được thêm. Bạn vui lòng thử lại!', true));
                }
            }
		}
 /**
  * Phần để rót dữ liệu vô bảng ở trên
  * */
            $this->Nvchithi->recursive = 0;
	            
		//$kehoaches = $this->Nvchithi->Kehoach->find('list');
        if(empty($idnhanvien)){
            
            //nhan vien loc theo don vi
            $nhanviens = $this->Nvchithi->Nhanvien->find('list',array(
                            'conditions'=>array('donvi_id'=>$kh['Kehoach']['donvi_id'])));
            $this->set('nvchithis', $this->paginate(array('kehoach_id'=>$kehoach)));
            
           
        }
		    
        else{
            $nhanviens = $this->Nvchithi->Nhanvien->find('list',array('conditions'=>array('id'=>$idnhanvien)));
            $this->set('nvchithis', $this->paginate(array('kehoach_id'=>$kehoach,'nhanvien_id'=>$idnhanvien)));
        }
            
  /**
   * Hết phần để rót
   * */
		$dvts = $this->Nvchithi->Dvt->find('list',array('fields'=>array('id','donvitinh')));
        
        
        
				
		$this->set(compact('kehoaches', 'nhanviens', 'dvts'));
        $this->set(compact('kehoach','kh','idnhanvien'));
	}

	function edit($id = null,$kehoach=null,$idnhanvien=null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid Nvchithi', true));
			$this->redirect(array('action'=>'index'));
		}
        
        $kh=$this->Nvchithi->Kehoach->find('first',array('conditions'=>array('Kehoach.id'=>$kehoach),'recursive'=>0));
        
		if (!empty($this->data)) {
			$this->data['Nvchithi']['ngaygiao']= date('Y-m-d',strtotime($this->data['Nvchithi']['ngaygiao']));
             $this->data['Nvchithi']['thoihan']= date('Y-m-d',strtotime($this->data['Nvchithi']['thoihan']));
		    if(strtotime($this->data['Nvchithi']['ngaygiao'])<strtotime($kh['Kehoach']['ngaybd'])
               || strtotime($this->data['Nvchithi']['ngaygiao'])>strtotime($kh['Kehoach']['ngaykt'])
               || (strtotime($this->data['Nvchithi']['ngaygiao'])> strtotime($this->data['Nvchithi']['thoihan'])))
                       $this->Session->setFlash(__('Ngày giao không đúng với thời gian của kế hoạch, hoặc bạn đã nhập thời hạn trước ngày giao!', true));
            else{ 	
                    if ($this->Nvchithi->save($this->data)) {
				        $this->Session->setFlash(__('Dữ liệu đã được lưu', true));
				        if(empty($idnhanvien))
                            $this->redirect(array('action'=>'index',$kehoach));
                        else
                            $this->redirect(array('action'=>'index',$kehoach,$idnhanvien));
			         } else {
				            $this->Session->setFlash(__('Dữ liệu chưa được lưu. Vui lòng thử lại.', true));
			         }
            }
		}
		if (empty($this->data)) {
			$this->data = $this->Nvchithi->read(null, $id);
		}
		/**
  * Phần để rót dữ liệu vô bảng ở trên
  * */
       $this->Nvchithi->recursive = 0;
	            
		//$kehoaches = $this->Nvchithi->Kehoach->find('list');
        if(empty($idnhanvien)){
            
            //nhan vien loc theo don vi
            $nhanviens = $this->Nvchithi->Nhanvien->find('list',array(
                            'conditions'=>array('donvi_id'=>$kh['Kehoach']['donvi_id'])));
           // print_r($kh);
            $this->set('nvchithis', $this->paginate(array('kehoach_id'=>$kehoach)));
        }
		    
        else{
            $nhanviens = $this->Nvchithi->Nhanvien->find('list',array('conditions'=>array('id'=>$idnhanvien)));
            $this->set('nvchithis', $this->paginate(array('kehoach_id'=>$kehoach,'nhanvien_id'=>$idnhanvien)));
        }
            
  /**
   * Hết phần để rót
   * */
		$dvts = $this->Nvchithi->Dvt->find('list',array('fields'=>array('id','donvitinh')));
				
		$this->set(compact('kehoaches', 'nhanviens', 'dvts'));
        $this->set(compact('kehoach','kh','idnhanvien'));
	}
    
    
    function editnv($id = null,$kehoach=null,$idnhanvien=null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid Nvchithi', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) {
			if ($this->Nvchithi->save($this->data)) {
				$this->Session->setFlash(__('Dữ liệu đã được lưu', true));
				if(empty($idnhanvien))
                    $this->redirect(array('action'=>'index',$kehoach));
                else
                    $this->redirect(array('action'=>'index',$kehoach,$idnhanvien));
			} else {
				$this->Session->setFlash(__('Dữ liệu chưa được lưu. Vui lòng thử lại.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Nvchithi->read(null, $id);
		}
		/**
  * Phần để rót dữ liệu vô bảng ở trên
  * */
        $kh=$this->Nvchithi->Kehoach->find('first',array('conditions'=>array('Kehoach.id'=>$kehoach),'recursive'=>0));
        $this->Nvchithi->recursive = 0;
	            
		//$kehoaches = $this->Nvchithi->Kehoach->find('list');
        if(empty($idnhanvien)){
            
            //nhan vien loc theo don vi
            $nhanviens = $this->Nvchithi->Nhanvien->find('list',array(
                            'conditions'=>array('donvi_id'=>$kh['Kehoach']['donvi_id'])));
           // print_r($kh);
            $this->set('nvchithis', $this->paginate(array('kehoach_id'=>$kehoach)));
        }
		    
        else{
            $nhanviens = $this->Nvchithi->Nhanvien->find('list',array('conditions'=>array('id'=>$idnhanvien)));
            $this->set('nvchithis', $this->paginate(array('kehoach_id'=>$kehoach,'nhanvien_id'=>$idnhanvien)));
        }
            
  /**
   * Hết phần để rót
   * */
		$dvts = $this->Nvchithi->Dvt->find('list',array('fields'=>array('id','donvitinh')));
				
		$this->set(compact('kehoaches', 'nhanviens', 'dvts'));
        $this->set(compact('kehoach','kh','idnhanvien'));
	}
	function delete($id = null,$kehoach=null,$idnhanvien=null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for Nvchithi', true));
			
            if(empty($idnhanvien))
                    $this->redirect(array('action'=>'index',$kehoach));
            else
                     $this->redirect(array('action'=>'index',$kehoach,$idnhanvien));
		}
		if ($this->Nvchithi->delete($id)) {
			$this->Session->setFlash(__('Nội dung công việc đã được xóa', true));
            
            if(empty($idnhanvien))
                    $this->redirect(array('action'=>'index',$kehoach));
            else
                     $this->redirect(array('action'=>'index',$kehoach,$idnhanvien));
		}
	}

}
?>